/*
 * @Author: Can-Chen
 * @Date: 2020-06-13 10:58:37
 * @LastEditTime: 2021-08-17 15:23:43
 * @LastEditors: g05047
 * @Description: In User Settings Edit
 * @FilePath: /test-component/src/smartlab-login-component/regExp/resExp.js
 */ 
export default function (param) {

      if (param.constructor.toString().indexOf("String") < 0) {
            throw new Error("--__ 调用正则传入参数有误 __--");
      };

      const regExp = {

            /* 身份证号 */
            idNumber: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,

            /* 中文 */
            chinese: /[\u4E00-\u9FA5]/,

            /* 电话 */
            telephone: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,

            /* 邮箱 */
            email: /^([a-zA-Z]|[0-9])(\w|-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/,

            /* 邮编 */
            ZipCode: /^[0-8][0-9]\d{4}$/,

            /* 六位验证码 */
            testCode: /^([0-9]{6})$/,

            /** 密码强度正则，最少6位，包括至少1个大写字母，1个小写字母，1个数字，1个特殊字符*/
            Password: /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/,

            /**IPv4地址正则 */
            IP: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,

            /**QQ号正则，5至11位 */
            QQ: /^[1-9][0-9]{4,10}$/,

            /**
             * 微信号正则，6至20位，以字母开头，字母，数字，减号，下划线
             */
            weChat: /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/,

            Email: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,

      };

      return regExp[param];
}